package com.xiyunxin.xiaiagent.demo.invoke;

import jakarta.annotation.Resource;
import org.springframework.ai.chat.messages.AssistantMessage;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.ai.chat.prompt.Prompt;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;

/**
 * Spring Ai 框架调用AI大模型（阿里）
 * 实现了 CommandLineRunner 接口，我们启动 Spring Boot 项目时，
 * 会自动注入大模型 Chat؜Model 依赖，并且单次执行该类的 run 方法，达到测试的效果。
 */
@Component
public class SpringAiAiInvoke implements CommandLineRunner {
    @Resource
    private ChatModel dashscopeChatModel;

    @Override
    public void run(String... args) throws Exception {
        AssistantMessage assistantMessage = dashscopeChatModel.call(new Prompt("你好，我是奚芸鑫"))
                .getResult()
                .getOutput();
        System.out.println(assistantMessage.getText());
    }
}
